home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-01
/
wics.zip
/
SMPLDLG.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1993-03-03
|
5KB
|
183 lines
#include <smpldlg.h>
TSampleDialog::TSampleDialog (PTWindowsObject AParent)
: TDialog (AParent, MAKEINTRESOURCE(SAMPLE_DIALOG))
{
AHierarchialListBox = new THierarchialListBox (this, ID_HIERARCHY);
ARevenueDial = new TDial (this, ID_REVENUEDIAL);
AnExpenseDial = new TDial (this, ID_EXPENSEDIAL);
ARevenuePercent = new TNumericEdit (this, ID_REVENUEPERCENT);
AnExpensePercent = new TNumericEdit (this, ID_EXPENSEPERCENT);
ARevenueTotal = new TNumericEdit (this, ID_REVENUE);
AnExpenseTotal = new TNumericEdit (this, ID_EXPENSE);
APercentBar = new TPercentBar (this, ID_PERCENTBAR);
hBackgroundBrush = CreateSolidBrush (GetSysColor(COLOR_WINDOW));
}
TSampleDialog::~TSampleDialog ()
{
DeleteObject (hBackgroundBrush);
}
void TSampleDialog::SetupWindow()
{
HANDLE hSubTree;
HANDLE hLowLevel;
int index;
int i;
TDialog::SetupWindow();
ARevenueDial->SetRange (10,1800);
AnExpenseDial->SetRange (1,500);
ARevenueDial->SetPosition (500);
AnExpenseDial->SetPosition (400);
ARevenuePercent->SetInt( 500 / 8 );
AnExpensePercent->SetInt ( 400 / 5 );
ARevenueTotal->SetInt (500);
AnExpenseTotal->SetInt (400);
APercentBar->SetLimit (500);
APercentBar->SetBytesProcessed (400);
AHierarchialListBox->AddString("Eastern Division");
AHierarchialListBox->AddString("Central Division");
AHierarchialListBox->AddString("Western Division");
hSubTree = AHierarchialListBox->GetChildHandle(NULL, 0);
for ( index = 0 ; index < 3 ; index++ )
{
AHierarchialListBox->AddString ("Shipping & Receiving Department", hSubTree, index);
AHierarchialListBox->AddString ("Sales Department", hSubTree, index);
AHierarchialListBox->AddString ("Finance Department", hSubTree, index);
AHierarchialListBox->AddString ("Advertising Department", hSubTree, index);
AHierarchialListBox->AddString ("Production Department", hSubTree, index);
AHierarchialListBox->AddString ("Maintenance Department", hSubTree, index);
AHierarchialListBox->AddString ("Security Department", hSubTree, index);
AHierarchialListBox->AddString ("Legal Department", hSubTree, index);
hLowLevel = AHierarchialListBox->GetChildHandle (hSubTree, index);
for (i=0 ; i < 8 ; i ++ )
{
AHierarchialListBox->AddString ("Revenue", hLowLevel, i);
AHierarchialListBox->AddString ("General Expenses", hLowLevel, i);
AHierarchialListBox->AddString ("Deferred Income", hLowLevel, i);
AHierarchialListBox->AddString ("Taxes", hLowLevel, i);
AHierarchialListBox->AddString ("Other Income/Deductions", hLowLevel, i);
}
}
hSubTree = NULL;
index = -1;
AHierarchialListBox->FindString ("Eastern Division", hSubTree, index, FALSE);
AHierarchialListBox->OpenSubTree (hSubTree, index);
hSubTree = AHierarchialListBox->GetChildHandle (hSubTree, index);
index = -1;
AHierarchialListBox->FindString ("Finance Department", hSubTree, index, FALSE);
AHierarchialListBox->OpenSubTree (hSubTree, index);
hSubTree = NULL;
index = -1;
AHierarchialListBox->FindString ("Western Division", hSubTree, index, FALSE);
AHierarchialListBox->OpenSubTree (hSubTree, index);
}
void TSampleDialog::WMVScroll (RTMessage msg)
{
if ( HIWORD(msg.LParam) == GetDlgItem (HWindow, ID_REVENUEDIAL) )
{
int iExpense;
int iRevenue;
iRevenue = ARevenueDial->GetPosition();
iExpense = AnExpenseDial->GetPosition();
if ( iExpense > iRevenue )
{
AnExpenseDial->SetRange(1, iRevenue);
AnExpenseDial->SetPosition(iRevenue);
iExpense = iRevenue;
}
else
AnExpenseDial->SetRange (1, iRevenue, TRUE);
ARevenuePercent->SetInt( (int)(iRevenue * 100L / 1800));
AnExpensePercent->SetInt ((int)(iExpense * 100L / iRevenue));
ARevenueTotal->SetInt(iRevenue);
AnExpenseTotal->SetInt(iExpense);
APercentBar->SetBytesProcessed ((long)iExpense);
APercentBar->SetLimit((long)iRevenue);
}
else
{
AnExpensePercent->SetInt ((int)(AnExpenseDial->GetPosition() * 100L / ARevenueDial->GetPosition()));
AnExpenseTotal->SetInt(AnExpenseDial->GetPosition());
APercentBar->SetBytesProcessed((long)AnExpenseDial->GetPosition());
}
}
void TSampleDialog::WMCtlColor (RTMessage msg)
{
msg.Result = hBackgroundBrush;
}
void TSampleDialog::cmdRevenue (RTMessage msg)
{
int iExpense;
int iRevenue;
if ( HIWORD(msg.LParam) == NEN_CHANGE )
{
iRevenue = ARevenueTotal->GetInt();
iExpense = AnExpenseTotal->GetInt();
if ( iExpense > iRevenue )
{
AnExpenseDial->SetRange(1, iRevenue);
AnExpenseDial->SetPosition(iRevenue);
iExpense = iRevenue;
}
else
AnExpenseDial->SetRange (1, iRevenue, TRUE);
ARevenuePercent->SetInt( (int)(iRevenue * 100L / 1800));
AnExpensePercent->SetInt ((int)(iExpense * 100L / iRevenue));
ARevenueDial->SetPosition (iRevenue);
APercentBar->SetBytesProcessed ((long)iExpense);
APercentBar->SetLimit((long)iRevenue);
}
}
void TSampleDialog::cmdExpense (RTMessage msg)
{
int iRevenue;
int iExpense;
if ( HIWORD(msg.LParam) == NEN_CHANGE )
{
iRevenue = ARevenueTotal->GetInt();
iExpense = AnExpenseTotal->GetInt();
AnExpensePercent->SetInt ((int)(iExpense * 100L / iRevenue));
AnExpenseDial->SetPosition(iExpense);
APercentBar->SetBytesProcessed((long)iExpense);
}
}